This chapter presents the requirements and recommendations for Universal Serial Bus (USB) under the Microsoft Windows family of operating systems.
Universal Serial Bus (USB) provides a bidirectional, isochronous, dynamically attachable serial interface for adding peripheral devices such as game controllers, serial and parallel ports, and scanners on a single bus.
For PC 97, USB provides a fast, low-cost solution that is strongly recommended for communications and input devices. The following are the key design features for USB under the Microsoft Windows operating systems:
This section summarizes the basic design requirements for USB.
Required |
This is required for all PC 97 system types. As noted in "Basic PC 97" in Part 2 of this guide, BIOS boot support is required when a USB keyboard is the sole keyboard support provided with the PC system.
Required |
All USB hardware must comply with the USB Specification v. 1.0 or higher, as published by Compaq, Digital Equipment, IBM, Intel, Microsoft, NEC, and Nortel. This ensures that USB hardware has complete Plug and Play capabilities and is implemented in a standard way. For example, on any system that has USB capabilities, a user must be able to dynamically attach any USB peripheral to any USB connector; the operating system should recognize it automatically, load and initialize the appropriate drivers, and make the device available for use.
Required |
The icon can be molded, printed, or use permanent stickers (which can include text). Icons can be based on vendor designs or use the recommended icon for USB defined in the USB Specification, Chapter 6, as follows:
The USB icon should be molded into the connector and also placed on the product for ease of identifying the USB port. It is recommended that the icon on the product and the one on the plug be adjacent to each other when the plug and receptacle are mated. This icon can be used for both series A and B connector schemes. On the plug, there should be a .635 mm rectangular recessed area around the icon such that there is a perceptible feel of the icon.
This section summarizes USB class specifications and standards for host controllers.
Required |
The host controller must be compliant with either OpenHCI for USB (published by Compaq, Microsoft, and National Semiconductor) or Universal HCI (UHCI; published by Intel).
Microsoft intends to support only these two USB host controller implementation standards. Hardware manufacturers who design to one of these specifications should not require an additional device driver for their host controller.
This section summarizes the specific power management requirements for USB.
Required |
The Universal Serial Bus specification defines power management requirements for USB devices in the "Device Framework" section in the USB Specification v.1.0 or higher. The chapter defines specific requirements for power states that must be supported by USB devices (USBOn, USBSuspend, and USBOff, with power consumption levels for each) and capabilities (such as the saving of device state and the ability to signal a resume on the bus).
These requirements are mandatory for all USB devices per the USB Specification, and are required for PC 97.
Required |
All USB devices must implement the Power Device Class-specific descriptors and requests as described in the "Power Device Class Specification." In addition:
This section summarizes requirements related to bus-class specifications and standards for peripherals that use this bus.
Required |
If you develop a peripheral that fits into one of the USB device class definitions, it must comply with the related USB specification. This allows Microsoft to develop USB class drivers that support all compliant peripherals in that class. This requirement also means that you do not have to develop your own device drivers for Windows.
This section lists some of the publications, services, and tools available to help build hardware supported by with Windows operating systems.
USB Specification v. 1.0 or higher
USB Device Class Specifications 1.0 or higher
USBIF Information
Phone: (800) 433-3652 (U.S. $35)
http://www.teleport.com/~usb/ (free)
Open Host Controller Interface (OpenHCI) v. 1.0 or higher
http://www.microsoft.com/hwdev/specs/busspecs.htm
Universal HCI (UHCI) Design Guide for USB
http://developer.intel.com/design/litcentr/litweb/USB.HTM
USB Basic Requirements | ||
---|---|---|
1. USB included on PC system | ||
Required | ||
2. All USB hardware complies with Universal Serial Bus Specification | ||
Required | ||
3. USB connectors use USB icon | ||
Required | ||
USB Controller Requirements | ||
4. USB host controller complies with OpenHCI or UHCI | ||
Required | ||
Power Management for USB | ||
5. Compliance with USB power management requirements | ||
Required | ||
6. Devices comply with "Power Device Class Specification" for USB | ||
Required | ||
Design Features for USB Peripherals | ||
7. Device complies with related USB device class specification | ||
Required | ||